/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.entity;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
 *
 * @author Diana
 */
@Entity
@Table(name = "Unidad_Organizativa")
@NamedQueries({
    @NamedQuery(name = "UnidadOrganizativa.findAll", query = "SELECT u FROM UnidadOrganizativa u"),
    @NamedQuery(name = "UnidadOrganizativa.findByCodUniOrganizativa", query = "SELECT u FROM UnidadOrganizativa u WHERE u.codUniOrganizativa = :codUniOrganizativa"),
    @NamedQuery(name = "UnidadOrganizativa.findByUnidadOrganizativa", query = "SELECT u FROM UnidadOrganizativa u WHERE u.unidadOrganizativa = :unidadOrganizativa"),
    @NamedQuery(name = "UnidadOrganizativa.findByCodUniDepend", query = "SELECT u FROM UnidadOrganizativa u WHERE u.codUniDepend = :codUniDepend"),
    @NamedQuery(name = "UnidadOrganizativa.findByNivel", query = "SELECT u FROM UnidadOrganizativa u WHERE u.nivel = :nivel")})
public class UnidadOrganizativa implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "cod_Uni_Organizativa")
    private String codUniOrganizativa;
    @Basic(optional = false)
    @Column(name = "Unidad_Organizativa")
    private String unidadOrganizativa;
    @Column(name = "cod_Uni_Depend")
    private String codUniDepend;
    @Basic(optional = false)
    @Column(name = "nivel")
    private char nivel;
    @JoinColumn(name = "cod_area", referencedColumnName = "cod_area")
    @ManyToOne
    private TipoArea codArea;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "codUniOrganizativa")
    private List<Pedido> pedidoList;
    @OneToMany(mappedBy = "coduniOrganizativa")
    private List<CentroCosto> centroCostoList;

    public UnidadOrganizativa() {
    }

    public UnidadOrganizativa(String codUniOrganizativa) {
        this.codUniOrganizativa = codUniOrganizativa;
    }

    public UnidadOrganizativa(String codUniOrganizativa, String unidadOrganizativa, char nivel) {
        this.codUniOrganizativa = codUniOrganizativa;
        this.unidadOrganizativa = unidadOrganizativa;
        this.nivel = nivel;
    }

    public String getCodUniOrganizativa() {
        return codUniOrganizativa;
    }

    public void setCodUniOrganizativa(String codUniOrganizativa) {
        this.codUniOrganizativa = codUniOrganizativa;
    }

    public String getUnidadOrganizativa() {
        return unidadOrganizativa;
    }

    public void setUnidadOrganizativa(String unidadOrganizativa) {
        this.unidadOrganizativa = unidadOrganizativa;
    }

    public String getCodUniDepend() {
        return codUniDepend;
    }

    public void setCodUniDepend(String codUniDepend) {
        this.codUniDepend = codUniDepend;
    }

    public char getNivel() {
        return nivel;
    }

    public void setNivel(char nivel) {
        this.nivel = nivel;
    }

    public TipoArea getCodArea() {
        return codArea;
    }

    public void setCodArea(TipoArea codArea) {
        this.codArea = codArea;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codUniOrganizativa != null ? codUniOrganizativa.hashCode() : 0);
        return hash;
    }
   public List<Pedido> getPedidoList() {
        return pedidoList;
    }

    public void setPedidoList(List<Pedido> pedidoList) {
        this.pedidoList = pedidoList;
    }

    public List<CentroCosto> getCentroCostoList() {
        return centroCostoList;
    }

    public void setCentroCostoList(List<CentroCosto> centroCostoList) {
        this.centroCostoList = centroCostoList;
    }
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof UnidadOrganizativa)) {
            return false;
        }
        UnidadOrganizativa other = (UnidadOrganizativa) object;
        if ((this.codUniOrganizativa == null && other.codUniOrganizativa != null) || (this.codUniOrganizativa != null && !this.codUniOrganizativa.equals(other.codUniOrganizativa))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.DAO.UnidadOrganizativa[codUniOrganizativa=" + codUniOrganizativa + "]";
    }

}
